home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / gui / gui4cli.lha / Gui4Cli / Docs / Tutorials / ListViews3.gc < prev    next >
Encoding:
Gui4CLI script  |  1999-07-31  |  3.1 KB  |  108 lines

  1. G4C
  2.  
  3. ; DIRECTORY LISTVIEWS
  4.  
  5. ; A directory lv is like the listers you find in DirOpus and other
  6. ; file managers. They are multi-selectable and have dedicated
  7. ; commands. There is much more that can be done with them than
  8. ; is shown here.. (look at dir.gc)
  9.  
  10.  
  11. WINBIG 156 31 300 177  ListViews3.gc
  12. WinType 11110001
  13.  
  14. xOnLoad
  15.     GuiOpen ListViews3.gc
  16.  
  17. xOnClose
  18.     GuiQuit ListViews3.gc
  19.  
  20. ; ------------------------------------------------------------------
  21. ;     The directory listview
  22. ; ------------------------------------------------------------------
  23.  
  24. ; Note that (like multi-lv's) these lv's "happen" when the user
  25. ; double clicks them. 
  26.  
  27. ; In this case, if the item double-clicked is a directory, then it
  28. ; will be entered into automatically and the xLVDirHook event will 
  29. ; be executed.
  30.  
  31. ; If it's a file, then the commands attached to the LV will be
  32. ; executed. In this instance, it's only one command (the GuiLoad)
  33. ; which loads the gui "FilePop" which resides in guis:tools/rtn
  34. ; to handle the file. Look at the "Routines.guide" for more info
  35. ; on that gui
  36.  
  37. XLISTVIEW 5 2 207 172 "" lv.file "" 10 DIR
  38.     gadid 1                              ; the ID of our listview
  39.     gadfont #mono 8 000                  ; Use the default monospace font
  40.     GuiLoad guis:tools/rtn/FilePop $Listviews3.gc/lv.file
  41.  
  42.  
  43. ; -------- The LVHook event
  44.  
  45. ; This is the xLVDirHook event that will be executed on double-clicking
  46. ; a directory - we use it to update the window's title with the name
  47. ; of the directory our listview is at.
  48.  
  49. xLVDirHook 1
  50.     setwintitle listviews3.gc '$$lv.dir'
  51.  
  52.  
  53. ; ------------------------------------------------------------------
  54. ;     The buttons..
  55. ; ------------------------------------------------------------------
  56.  
  57. ; These buttons will control our dir listview..
  58.  
  59. XBUTTON 215 2 81 14 "Parent"       ; go to the parent dir
  60.     lvuse listviews3.gc 1
  61.     lvdir parent
  62.     setwintitle listviews3.gc '$$lv.dir'
  63.  
  64. XBUTTON 215 16 81 14 "Root"        ; go to the root of the drive
  65.     lvuse listviews3.gc 1
  66.     lvdir root
  67.     setwintitle listviews3.gc '$$lv.dir'
  68.  
  69. XBUTTON 215 30 81 14 "Disks"       ; show the device list
  70.     lvuse listviews3.gc 1
  71.     lvdir disks
  72.     setwintitle listviews3.gc 'Device list'
  73.  
  74.  
  75. XBUTTON 215 50 81 14 "All"         ; select all dirs/files
  76.     lvuse listviews3.gc 1
  77.     lvdir all
  78.  
  79. XBUTTON 215 64 81 14 "None"        ; unselect all selected items
  80.     lvuse listviews3.gc 1
  81.     lvdir none
  82.  
  83.  
  84. ; ------------------------------------------------------------------
  85. ;    The List button
  86. ; ------------------------------------------------------------------
  87.  
  88. ; This button will list out all the selected items, stating what
  89. ; type they are.. Note that the device list can never be acted upon..
  90. ; It's done for safety, so that gems like "delete DH0:" can be avoided
  91.  
  92. XBUTTON 215 88 81 14 "List"
  93.     lvuse listviews3.gc 1              ; use our listview
  94.     lvmulti first                      ; goto to first selected item
  95.     while $$lv.line > ''               ; while there are selected items..
  96.         say '$$lv.type - $$lv.rec\n'    ; show the type & name of each item
  97.         lvmulti off                     ; un-select the item
  98.         lvmulti next                    ; get next item
  99.     endwhile                           ; until no more..
  100.  
  101.  
  102.  
  103. ; Easy, wasn't it ?
  104.  
  105.  
  106.  
  107.  
  108.